/**
 */
package usixmlcui;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Concrete Graphical IU</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link usixmlcui.ConcreteGraphicalIU#getEReference0 <em>EReference0</em>}</li>
 *   <li>{@link usixmlcui.ConcreteGraphicalIU#getOriginX <em>Origin X</em>}</li>
 *   <li>{@link usixmlcui.ConcreteGraphicalIU#getOriginY <em>Origin Y</em>}</li>
 *   <li>{@link usixmlcui.ConcreteGraphicalIU#getWidth <em>Width</em>}</li>
 *   <li>{@link usixmlcui.ConcreteGraphicalIU#getHeight <em>Height</em>}</li>
 *   <li>{@link usixmlcui.ConcreteGraphicalIU#isIsVisible <em>Is Visible</em>}</li>
 *   <li>{@link usixmlcui.ConcreteGraphicalIU#isIsEnabled <em>Is Enabled</em>}</li>
 *   <li>{@link usixmlcui.ConcreteGraphicalIU#isIsResizable <em>Is Resizable</em>}</li>
 *   <li>{@link usixmlcui.ConcreteGraphicalIU#getEReference1 <em>EReference1</em>}</li>
 * </ul>
 * </p>
 *
 * @see usixmlcui.Usixml_cuiPackage#getConcreteGraphicalIU()
 * @model
 * @generated
 */
public interface ConcreteGraphicalIU extends EObject {
	/**
	 * Returns the value of the '<em><b>EReference0</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>EReference0</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>EReference0</em>' reference.
	 * @see #setEReference0(ConcreteInteractionUnit)
	 * @see usixmlcui.Usixml_cuiPackage#getConcreteGraphicalIU_EReference0()
	 * @model
	 * @generated
	 */
	ConcreteInteractionUnit getEReference0();

	/**
	 * Sets the value of the '{@link usixmlcui.ConcreteGraphicalIU#getEReference0 <em>EReference0</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>EReference0</em>' reference.
	 * @see #getEReference0()
	 * @generated
	 */
	void setEReference0(ConcreteInteractionUnit value);

	/**
	 * Returns the value of the '<em><b>Origin X</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Origin X</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Origin X</em>' attribute.
	 * @see #setOriginX(float)
	 * @see usixmlcui.Usixml_cuiPackage#getConcreteGraphicalIU_OriginX()
	 * @model
	 * @generated
	 */
	float getOriginX();

	/**
	 * Sets the value of the '{@link usixmlcui.ConcreteGraphicalIU#getOriginX <em>Origin X</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Origin X</em>' attribute.
	 * @see #getOriginX()
	 * @generated
	 */
	void setOriginX(float value);

	/**
	 * Returns the value of the '<em><b>Origin Y</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Origin Y</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Origin Y</em>' attribute.
	 * @see #setOriginY(float)
	 * @see usixmlcui.Usixml_cuiPackage#getConcreteGraphicalIU_OriginY()
	 * @model
	 * @generated
	 */
	float getOriginY();

	/**
	 * Sets the value of the '{@link usixmlcui.ConcreteGraphicalIU#getOriginY <em>Origin Y</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Origin Y</em>' attribute.
	 * @see #getOriginY()
	 * @generated
	 */
	void setOriginY(float value);

	/**
	 * Returns the value of the '<em><b>Width</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Width</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Width</em>' attribute.
	 * @see #setWidth(float)
	 * @see usixmlcui.Usixml_cuiPackage#getConcreteGraphicalIU_Width()
	 * @model
	 * @generated
	 */
	float getWidth();

	/**
	 * Sets the value of the '{@link usixmlcui.ConcreteGraphicalIU#getWidth <em>Width</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Width</em>' attribute.
	 * @see #getWidth()
	 * @generated
	 */
	void setWidth(float value);

	/**
	 * Returns the value of the '<em><b>Height</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Height</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Height</em>' attribute.
	 * @see #setHeight(float)
	 * @see usixmlcui.Usixml_cuiPackage#getConcreteGraphicalIU_Height()
	 * @model
	 * @generated
	 */
	float getHeight();

	/**
	 * Sets the value of the '{@link usixmlcui.ConcreteGraphicalIU#getHeight <em>Height</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Height</em>' attribute.
	 * @see #getHeight()
	 * @generated
	 */
	void setHeight(float value);

	/**
	 * Returns the value of the '<em><b>Is Visible</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Visible</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Visible</em>' attribute.
	 * @see #setIsVisible(boolean)
	 * @see usixmlcui.Usixml_cuiPackage#getConcreteGraphicalIU_IsVisible()
	 * @model
	 * @generated
	 */
	boolean isIsVisible();

	/**
	 * Sets the value of the '{@link usixmlcui.ConcreteGraphicalIU#isIsVisible <em>Is Visible</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Is Visible</em>' attribute.
	 * @see #isIsVisible()
	 * @generated
	 */
	void setIsVisible(boolean value);

	/**
	 * Returns the value of the '<em><b>Is Enabled</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Enabled</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Enabled</em>' attribute.
	 * @see #setIsEnabled(boolean)
	 * @see usixmlcui.Usixml_cuiPackage#getConcreteGraphicalIU_IsEnabled()
	 * @model
	 * @generated
	 */
	boolean isIsEnabled();

	/**
	 * Sets the value of the '{@link usixmlcui.ConcreteGraphicalIU#isIsEnabled <em>Is Enabled</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Is Enabled</em>' attribute.
	 * @see #isIsEnabled()
	 * @generated
	 */
	void setIsEnabled(boolean value);

	/**
	 * Returns the value of the '<em><b>Is Resizable</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Resizable</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Resizable</em>' attribute.
	 * @see #setIsResizable(boolean)
	 * @see usixmlcui.Usixml_cuiPackage#getConcreteGraphicalIU_IsResizable()
	 * @model
	 * @generated
	 */
	boolean isIsResizable();

	/**
	 * Sets the value of the '{@link usixmlcui.ConcreteGraphicalIU#isIsResizable <em>Is Resizable</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Is Resizable</em>' attribute.
	 * @see #isIsResizable()
	 * @generated
	 */
	void setIsResizable(boolean value);

	/**
	 * Returns the value of the '<em><b>EReference1</b></em>' reference.
	 * It is bidirectional and its opposite is '{@link usixmlcui.ConcreteGraphicalRelationship#getEReference0 <em>EReference0</em>}'.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>EReference1</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>EReference1</em>' reference.
	 * @see #setEReference1(ConcreteGraphicalRelationship)
	 * @see usixmlcui.Usixml_cuiPackage#getConcreteGraphicalIU_EReference1()
	 * @see usixmlcui.ConcreteGraphicalRelationship#getEReference0
	 * @model opposite="EReference0"
	 * @generated
	 */
	ConcreteGraphicalRelationship getEReference1();

	/**
	 * Sets the value of the '{@link usixmlcui.ConcreteGraphicalIU#getEReference1 <em>EReference1</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>EReference1</em>' reference.
	 * @see #getEReference1()
	 * @generated
	 */
	void setEReference1(ConcreteGraphicalRelationship value);

} // ConcreteGraphicalIU
